Data recording method, recording medium and reproduction apparatus

ABSTRACT

A data recording method comprising the steps of encoding user data into first error correcting codes having a first correction capability, encoding control information into second error correcting codes having a second correction capability higher than the first correction capability, generating a data stream containing the first error correcting code, the second error correcting code, and synchronization signals, wherein the second error correcting codes and the synchronization signals alternatively interleave the first error correcting codes, and recording the data stream.

TECHNICAL FIELD

[0001] The present invention relates to: a data recording method used when data, such as AV data and computer data, is recorded onto a recording medium, such as a DVD; the recording medium storing the data; and an apparatus for reproducing the data from the recording medium.

BACKGROUND ART

[0002] Conventionally, an error correcting code, such as a Reed-Solomon code, has been used to correct errors on a recording medium, such as a DVD, caused by defects of the medium, or dust or scratches attached on the disk surface.

[0003] Recently, in the field of digital video recording, research has been developed toward the next-generation DVDs having higher density and greater capacity than conventional DVDs. In such research, as the density of a recording medium is increased, there is a demand for a reduction in the influence of burst errors due to dust or scratches.

[0004] To meet such a demand, a recording method has been proposed in, for example, Kouhei Yamamoto et al., “Error Modeling and Performance Analysis of Error-Correcting Codes for the Digital Video Recording System (Part of the Joint International Symposium on Optical Memory and Optical Data Storage 1999 • Koloa, Hawaii • July 1999 SPIE Vol. 3864, pp. 339-341)”. In this method, two error correcting codes are interleaved so as to improve a capability of correcting burst errors.

[0005] Another data recording method, in which two or more error correcting codes are interleaved, is disclosed in detail in Japanese Laid-Open Publication No. 2000-40307.

[0006]FIG. 9 is a schematic diagram showing a conventional construction of error correcting codes in Yamamoto et al.

[0007] As shown in FIG. 9, user data of about 64 Kbytes is divided into 304 columns of 216 bytes each, which are referred to as an information portion. A parity of 32 bytes is added to each information portion to form a first error correcting code 901. The first error correcting code 901 is encoded using Reed-Solomon codes over the finite field GF (256). A component symbol is a minimum element constituting a code and has a length of 1 byte.

[0008] The correction capability of the first error correcting code 901 is evaluated as follows.

[0009] Generally,

d≧2×t+1

[0010] is established where d represents the minimum distance between each code and t represents the possible number of corrections.

[0011] Each first error correcting code 901 contains a 32-byte parity. The minimum distance between two first error correcting codes is 33. Therefore, according to the above-described relationship, the first error correcting code 901 has correction capability of correcting any up to 16 (byte) errors in the code length of 248 (bytes).

[0012] In the correction process, when an error position is known, information on the known error position can be used to perform erasure correction. Erasure correction is a method in which when a certain code is subjected to a correction operation and an erroneous component symbol (the minimum unit of a code) is known in advance, the component symbol is assumed to be erased and the erased component symbol is calculated from the remaining component symbols. When error positions are known, the erasure correction can enhance the correction capability by a factor of up to 2.

[0013] This can be explained by the following relationship:

d≧2×t+e+1,

[0014] where d represents the minimum distance between each code and t represent the number of corrections, and e represents the number of erasure corrections.

[0015] In the case of the first error correcting code 901 where the minimum distance d=33, if all corrections are performed by erasure correction (i.e., t=0), up to 32 (bytes) component symbols can be corrected (e=32).

[0016] As shown in FIG. 9, control data of 720 bytes is divided into 24 columns of 30 bytes each, which are referred to as an information portion. A parity of 32 bytes is added to each information portion to form a second error correcting code 902. The second error correcting code 902 is encoded using Reed-Solomon codes over the finite field GF (256). A component symbol is a minimum element constituting a code and has a length of 1 byte. Note that the 720-byte control data contains address information and the like used when the user data is eventually recorded onto an optical disk.

[0017] Each second error correcting code 902 also contains a 32-byte parity. The minimum distance between two second error correcting codes 902 is 33 as in the first error correcting code 901. Therefore, the second error correcting code 902 has correction capability of correcting any up to 16 (byte) errors in the code length of 62 (bytes). The number of corrections of the second error correcting code 902 is the same as that of the first error correcting code 901 (16 (bytes)). However, since the second error correcting code 902 has a shorter code length than that of the first error correcting code 901, the correction capability of the second error correcting code 902 is higher than that of the first error correcting code 901.

[0018] In this manner, the first error correcting codes 901 and the second error correcting codes 902 are constructed and are then interleaved along with a synchronization signal 903 to generate data streams which are in turn recorded onto a recording medium.

[0019]FIG. 10 shows a structure of a data stream in which the conventional first error correcting codes 901 and second error correcting codes 902 shown in FIG. 9 are interleaved along with a synchronization signal under a predetermined interleaving rule.

[0020] In FIG. 10, 901a to 901 h indicate first error correcting codes, 902 a to 902 f indicate second error correcting codes, and 903 a and 903 b are synchronization signals. Component symbols constituting the codes and the synchronization signals are recorded so that they are arranged in a matrix of 312 columns×248 rows and interleaved in the row direction. Each code is encoded in the column direction (vertical direction) and is to be recorded in a row direction (horizontal direction), thereby providing the construction which is robust to burst errors. In the conventional example, a synchronization signal of 1 byte is added per 155 bytes (=38+1+38+1+38+1+38 bytes). The 156 bytes constitute one frame. The data stream has a so-called frame structure. The synchronization signal is used to synchronize data within a frame on a byte-by-byte basis and specify the position of a frame in the entire data stream (data block). The synchronization signal is also used to pull in synchronization at the start of reproduction or perform resynchronization when a bit slip or the like occurs. To this end, the synchronization signal has a pattern, which cannot be generated by demodulation performed when a data stream is finally recorded onto an optical disk, and a predetermined pattern signal comprising a frame number and the like. The reproduction apparatus determines whether or not a pattern reproduced by the reproduction apparatus is identical to a corresponding predetermined pattern which should have been recorded, thereby causing the synchronization signal to function.

[0021] As is seen from the data construction of FIG. 10, 38 byte component symbols in each first error correcting code is interposed between a 1 byte synchronization signal and a 1 byte component symbol in a second error correcting code or between 1 byte component symbols in two second error correcting codes. The ratio of the number of columns having a synchronization signal to the number of columns having component symbols of a second error correcting code is 1:3. It is possible to generate erasure flags indicating error position information for erasure correction, depending on whether or not an error is detected in a synchronization signal or component symbols in a second error correcting code, based on the result of synchronization detection of a synchronization signal or the result of error correction using a second error correcting code having correction capability higher than that of the first error correcting codes.

[0022] For example, it is assumed that when a second error correcting code is subjected to error correction, an error is detected in component symbols of two consecutive second error correcting codes 902 e and 902 f (902 e-x and 902 f-x in FIG. 10) and error correction is actually performed. In this case, a possibility that an error occurs in 38 byte component symbols in the first error correcting code 901 g interposed between component symbols of the second error correcting codes 902 e-x and 902 f-x is considered to be high (i.e., a burst error is assumed to occur). In this case, an erasure flag 905 a is generated for the component symbol in the first error correcting code 901 g.

[0023] Similarly, for example, for 38 byte component symbols in the first error correcting code 901 a interposed between the synchronization signal 903 a and component symbols in the second error correcting code 902 a, and 38 byte component symbols in the first error correcting code 901 d interposed between component symbols in the second error correcting code 902 a and the synchronization signal 903 b, an error is detected in the result of error correction of the second error correcting code or the result of synchronization detection of whether or not a synchronization signal is detected, and using the result, erasure flags are generated for component symbols in the first error correcting codes 901 a and 901 d. In FIG. 10, an erasure flag 905 a is generated as a result of detection of errors in 903 a-x and 902 a-x and an erasure flag 905 b is generated as a result of detection of errors in 902 c-x and 903 b-x.

[0024] As described above, erasure flags can be used to perform erasure correction, thereby making it possible to improve correction capability (the number of corrections) by a factor of up to 2. Therefore, an excellent resistance to burst errors due to scratches or dust can be obtained.

[0025] In the above-described conventional example, the result of error correction of the second error correcting codes or the result of detection of a synchronization signal is used to generate a corresponding erasure flag.

[0026] The error detection using a second error correcting code is different from the error detection using the synchronization signal in terms of capability of detecting errors due to the difference between detection methods. The error detection using a synchronization signal has detection capability much higher than the error detection using a second error correcting code.

[0027] In the conventional example, the second error correcting code has correction capability higher than that section) for generating an erasure flag, which is used for erasure correction, to the first error correcting code, based on a result of error correction of the second error correcting code or a result of detection of the synchronization signal, and an erasure correcting circuit (erasure correcting section) for using the erasure flag to perform erasure correction. These circuits will be described below. The error correcting circuit 606 detects and corrects errors on a recording medium due to scratches, dust, or the like, and generates corrected data 614 from which the errors are removed.

[0028] The reproduction apparatus 600 may further comprise an optical head 117 for reading data from the optical disk 118, a WORK RAM 607 for use in the operation of the error correcting circuit 606, an interface control circuit 608 for controlling a protocol, such as SCSI or ATAPI, and a control CPU 609. The optical head 117 may comprise a semiconductor laser and an optical element. The interface control circuit 608 performs interface control for transmitting reproduced user data to a personal computer or the like. The control CPU 609 controls the entire reproduction apparatus 600.

[0029] In the thus-constructed reproduction apparatus of the present invention, data is reproduced from the optical disk 118 in the following procedure.

[0030] Initially, a laser beam is emitted from a semiconductor laser of the optical head 117 to irradiate the optical disk 118. The laser beam is reflected by the optical disk 118, and the reflected light signal 610 is subjected in the reproduction circuit 603 to conversion to an analog signal, amplification, and conversion to binary values, and is transmitted as the binary data 611 to the demodulation circuit 604. The demodulation circuit 604 digitally demodulates a signal modulated in recording (digital modulation signal, such as {fraction (8/16)} modulation or RLL (1,7)). The digitally demodulated data 612 is transmitted to the error correcting circuit 606 in which errors due to scratches, dust, or the like on a medium are detected and corrected with the help of the WORK RAM 607. Here, the demodulated data 612 contains first error correcting codes and second error correcting codes. In the demodulation circuit 604, the synchronization signal detecting circuit 605 detects a synchronization signal by examining the synchronization signal from the binary data 611 on a bit-by-bit basis, and performs resynchronization in the case when data loses synchronization with clocks due to a bit slip or the like. The synchronization signal detecting circuit 605 predicts the time of detecting a next synchronization signal by counting the number of clocks or the number of bytes from a current synchronization signal, where the current synchronization signal is present upstream of the next synchronization signal along the data stream. When a synchronization signal is detected at a time different from the predicted time and is subjected to synchronization correction, a synchronization correction signal 613 is transmitted to the error correcting circuit 606. When no synchronization signal is detected around the predicted time, a synchronization undetected signal 615 is transmitted to the error correcting circuit 606.

[0031] The error correcting circuit 606 decodes the first error correcting codes and the second error correcting codes. When performing error correction to the first error correcting code, a result of error correction of the second error correcting code, the synchronization correction signal 613, and the synchronization undetected signal 615 are used to generate an erasure flag indicating error position information. The erasure flag is used in erasure correction.

[0032] The correction process is employed using known Reed-Solomon codes, for example. Error-corrected data 614 is transmitted via the interface control circuit 608 to a host computer or the like (not shown). The overall operations for reproduction are controlled by the control CPU 609.

[0033]FIG. 7 is a diagram specifically showing a structure of the error correcting circuit 606 shown in FIG. 6.

[0034] In FIG. 7, the error correcting circuit 606 comprises an erasure flag generating circuit (erasure flag generating section) 618 for generating an erasure flag for erasure correction of the first error correcting code, based on a result of error correction of the second error correcting code and a result of detection of the synchronization signal, and an erasure correcting circuit (erasure correcting section) 625 for performing error correction using the erasure flag.

[0035] The error correcting circuit 606 may further comprise a bus/memory control circuit 622 for controlling recording and reproduction of the WORK RAM 607 and an internal bus 619, an output IF control circuit 623 for outputting the user data 614 after error correction, a first code error correcting circuit 624 for decoding the first error correcting code encoding the user data, and a second code error correcting circuit 626 for decoding the second error correcting code containing encoded control information. The output IF control circuit 623 performs handshaking with the interface control circuit 608. The first code error correcting circuit 624 performs error correction to each column of the first error correcting code containing 216-byte data and an additional 32-byte parity. In error correction, the erasure flag 620 indicating an error position can be used to perform error correction for up to 32 bytes for one code. The erasure correction is performed by the erasure correcting circuit 625. The second code error correcting circuit 626 corrects the second error correcting code containing 30-byte data and an additional 32-byte parity, where error correction can be performed on up to 16 bytes for one code. The above-described first code error correcting circuit 624, second code error correcting circuit 626, and erasure correcting circuit 625 can be constructed with an error correcting circuit employing known Reed-Solomon codes or the like.

[0036] The error correcting circuit 606 may further comprise an input IF control circuit 616 for performing IF control with the demodulation circuit 604, and a general control circuit 617 for controlling the entire error correcting circuit 606, which comprises a microcontroller or the like. The demodulated data 612 input to the input IF control circuit 616 is stored via the bus/memory control circuit 622 to the WORK RAM 607. The general control circuit 617 generates the erasure flag 620 based on an error position 627 of the second error correcting code from the second code error correcting circuit 626, the synchronization correction signal 613, and the synchronization undetected signal 615, and transmits it to the erasure correcting circuit 625.

[0037] Next, an operation of the thus-constructed error correcting circuit 606 will be described.

[0038] The demodulated data 612 reproduced and demodulated from the recording medium is stored to the WORK RAM 607 via the input IF control circuit 616 and the bus/memory control circuit 622. The first error correcting code and the second error correcting code of the stored data are decoded.

[0039] For decoding, the second error correcting code is first decoded by the second code error correcting circuit 626. The second code error correcting circuit 626 obtains the error position 627 by the decoding and transmits it to the erasure flag generating circuit 618.

[0040] The erasure flag generating circuit 618 generates the erasure flag 620 based on the synchronization correction signal 613 and the synchronization undetected signal 615 input at the same time when the demodulated data 612 is input in advance from the demodulation circuit 604 to the input IF control circuit 616, in accordance with a predetermined rule described below, and transmits the erasure flag 620 to the erasure correcting circuit 625 of the first code error correcting circuit 624.

[0041] The first code error correcting circuit 624 and the erasure correcting circuit 625 perform erasure correction to the first error correcting code based on the erasure flag 620.

[0042] After completion of error correction, the user data 614 from which errors are removed is transmitted via the output IF control circuit 623 to the interface control circuit 608.

[0043] The above-described control of the entire error correcting circuit 606 or the generation of the erasure flag 620 can be executed by the general control circuit 617 and the erasure flag generating circuit 618 which comprise a microcontroller or the like. The execution can also be carried out by software or a simple logic circuit.

[0044]FIG. 8 is a diagram showing an algorithm for explaining a rule for generating an erasure flag. In accordance with the generation rule shown in FIG. 8, an erasure flag 420 is generated by software or a simple logic circuit.

[0045] In FIG. 8, a reproduced data sequence is categorized depending on a result of detection of a synchronization signal or the presence or absence of an error in the component symbols of a second error correcting code. In FIG. 8, ◯ indicates the normal detection of the synchronization signal or the absence of an error in component symbols of the second error correcting code in error correction. × indicates non-detection of the synchronization signal, or the presence of an error in component symbols of the second error correcting code in error correction. Δ indicates that a synchronization signal is detected at a time shifted from the time predicted from the previous synchronization signal upstream in the data stream, and synchronization correction is carried out.

[0046] In FIG. 8, 115e and 115 f indicate synchronization signals, 111 i, 111 j and 111 k indicate component symbols of first error correcting codes, and 112 e and 112 f indicates component symbols of second error correcting codes. (A) to the left of FIG. 8 shows a rule for generating an erasure flag to the component symbol 111 i of the first error correcting code when the synchronization signal 115 e, the component symbol 111 i of the first error correcting code, and the component symbol 112 e of the second error correcting code are disposed in this order. (B) to the right of FIG. 8 shows a rule for generating an erasure flag to the component symbols 111 j and 111 k of the first error correcting code when the component symbol 112 f of the second error correcting code, the component symbol 111 k of the first error correcting code, and the synchronization signal 115 f are disposed in this order.

[0047] [Case of (A) to the Left of FIG. 8]

[0048] (a) When the synchronization signal 115 e is normally detected and no error is detected in the component symbol 112 e of the second error correcting code, no erasure flag is added to the component symbol 111 i of the first error correcting code.

[0049] (b) When the synchronization signal 115 e is detected at a time shifted from the time predicted from the previous synchronization signal upstream in the data stream and no error is detected in the component symbol 112 e of the second error correcting code, no erasure flag is added to the component symbol 111 i of the first error correcting code.

[0050] (c) When the synchronization signal 115 e is not detected and no error is detected in the component symbol 112 e of the second error correcting code is detected, no erasure flag is added to the component symbol 111 i of the first error correcting code.

[0051] (d) When the synchronization signal 115 e is normally detected and an error is detected in the component symbol 112 e of the second error correcting code, no erasure flag is added to the component symbol 111 i of the first error correcting code.

[0052] (e) When the synchronization signal 115 e is detected at a time shifted from the time predicted from the previous synchronization signal upstream in the data stream and an error is detected in the component symbol 112 e of the second error correcting code, no erasure flag is added to the component symbol 111 i of the first error correcting code.

[0053] (f) When the synchronization signal 115 e is not detected and an error is detected in the component symbol 112 e of the second error correcting code is detected, it is assumed that a burst error occurs, and an erasure flag 804 is added to the component symbol 111 i of the first error correcting code.

[0054] [Case of (B) to the Right of FIG. 8]

[0055] (g) When no error is detected in the component symbol 112 f of the second error correcting code and the synchronization signal 115 f is normally detected, no erasure flag is added to the component symbol 111 k of the first error correcting code.

[0056] (h) When no error is detected in the component symbol 112 f of the second error correcting code and the synchronization signal 115 f is detected at a time shifted from the time predicted from the previous synchronization signal upstream in the data stream, it is assumed that a burst error occurs due to a bit slip, and an erasure flag 805 is added to the component symbol 111 k of the first error correcting code.

[0057] (i) When no error is detected in the component symbol 112 f of the second error correcting code and the synchronization signal 115 f is not detected, no erasure flag is added to the component symbol 111 k of the first error correcting code.

[0058] (j) When an error is detected in the component symbol 112 f of the second error correcting code and the synchronization signal 115 f is normally detected, no erasure flag is added to the component symbol 111 k of the first error correcting code.

[0059] (k) When an error is detected in the component symbol 112 f of the second error correcting code and the synchronization signal 115 f is detected at a time shifted from the time predicted from the previous synchronization signal upstream in the data stream, it is assumed that a burst error occurs due to a bit slip, and erasure flags 806 and 807 are added to the component symbols 111 k and 111 j of the first error correcting code.

[0060] (l) When an error is detected in the component symbol 112 f of the second error correcting code and the synchronization signal 115 f is not detected, it is assumed that a burst error occurs, and an erasure flags 808 is added to the component symbol 111 k of the first error correcting code.

[0061] In accordance with the above-described rules in (A) and (B), erasure flags are generated. The generated erasure flags are used to subject the first error correcting code to erasure correction, thereby making it possible to improve correction capability by a factor of up to 2. For all of the first error correcting codes, erasure flags are generated irrespective of the position of the first error correcting code in the data stream, i.e., how first error correcting codes are interleaved with second error correcting codes and synchronization signals, but only based on a result of detection of the synchronization signal and a result of error detection of the component symbols of the second error correcting code.

[0062] As described above, in the reproduction apparatus of the present invention, erasure flags can be generated for all of the first error correcting codes in an equal manner by error detection of the synchronization signal and the component symbols of the second error correcting codes. Therefore, the accuracy of error detection does not vary depending on the position of the first error correcting code in the data stream interleaved with the second error correcting code and the synchronization signals, so that the first error correcting codes can have high reliability throughout the data stream.

Industrial Applicability

[0063] As described above, in the data recording method, recording medium and reproduction apparatus of the present invention, a data stream containing first error correcting codes, second error correcting codes and synchronization signals is generated, in which the second error correcting codes and the synchronization signals alternately interleave the first error correcting codes, and the data stream is recorded onto the recording medium by a recording apparatus. Thus, equal error detection of a burst error can be applied to all of the first error correcting codes. Therefore, the reliability does not vary depending on the interleaving manner, so that high reliability of error correction can be guaranteed throughout the data stream. Thus, with the present invention, the data recording method, the optical disk, and the reproduction apparatus each having high reliability can be achieved. 

1. A data recording method, comprising the steps of: encoding user data into first error correcting codes having a first correction capability; encoding control information into second error correcting codes having a second correction capability higher than the first correction capability; generating a data stream containing the first error correcting code, the second error correcting code, and synchronization signals, wherein the second error correcting codes and the synchronization signals alternatively interleave the first error correcting codes; and recording the data stream.
 2. A recording medium storing a data stream containing first error correcting codes obtained by encoding user data, second error correcting codes obtained by encoding control information, and synchronization signals, wherein: the first error correcting codes have a first correction capability; the second error correcting codes have a second correction capability higher than the first correction capability; and in the data stream, the second error correcting codes and the synchronization signals alternatively interleave the first error correcting codes.
 3. A reproduction apparatus for reproducing the data stream recorded on a recording medium according to claim 2, the apparatus comprising : a reproduction section for generating binary data from the data stream ; a demodulation section for demodulating the binary data into the first error correcting codes and the second error correcting codes, wherein the demodulation section comprises a synchronization signal detecting section for generating a result of detection of the synchronization signal; and an error correcting section for detecting an error in the first error correcting codes and the second error correcting codes output from the demodulation section, and correcting the error, wherein the error correcting section comprises an erasure flag generating section to the first error correcting code for generating an erasure flag for erasure correction based on a result of error correction of the second error correcting code or a result of detection of the synchronization signal, and an erasure correcting section for using the erasure flag to perform erasure correction.
 4. A reproduction apparatus according to claim 3, wherein when the synchronization signal detecting section detects the synchronization signal at a time different from a predicted time, the erasure flag generating section places an erasure flag in a component symbol of the first error correcting code upstream in the data stream from the synchronization signal.
 5. A reproduction apparatus according to claim 3, wherein when the synchronization signal detecting section detects the synchronization signal at a time different from a predicted time, and an error is detected in a component symbol of the second error correcting code upstream in the data stream from and closest to the synchronization signal, the erasure flag generating section places an erasure flag in a component symbol of the first error correcting code upstream in the data stream from the synchronization signal.
 6. A reproduction apparatus according to claim 3, wherein when the synchronization signal detecting section detects the synchronization signal at a time different from a predicted time, and an error is not detected in a component symbol of the second error correcting code upstream in the data stream from and closest to the synchronization signal, the erasure flag generating section places an erasure flag in a component symbol of the first error correcting code between the second error correcting code and the synchronization signal.
 7. A reproduction apparatus according to claim 4, wherein the synchronization signal detecting section counts the number of clocks and reproduced bits from the time of detecting the synchronization signal and, based on the counting result, predicts a time of detection of the next synchronization signal.
 8. An error correcting circuit for use in a reproduction apparatus according to claim 3, comprising an erasure flag generating section to the first error correcting code for generating an erasure flag for erasure correction based on a result of error correction of the second error correcting code or a result of detection of the synchronization signal, and an erasure correcting section for using the erasure flag to perform erasure correction.
 9. An error correcting circuit according to claim 8, wherein when the synchronization signal detecting section detects the synchronization signal at a time different from a predicted time, the erasure flag generating section places an erasure flag in a component symbol of the first error correcting code upstream in the data stream from the synchronization signal.
 10. An error correcting circuit according to claim 8, wherein when the synchronization signal detecting section detects the synchronization signal at a time different from a predicted time, and an error is detected in a component symbol of the second error correcting code upstream in the data stream from and closest to the synchronization signal, the erasure flag generating section places an erasure flag in a component symbol of the first error correcting code upstream in the data stream from the synchronization signal.
 11. An error correcting circuit according to claim 8, wherein when the synchronization signal detecting section detects the synchronization signal at a time different from a predicted time, and an error is not detected in a component symbol of the second error correcting code upstream in the data stream from and closest to the synchronization signal, the erasure flag generating section places an erasure flag in a component symbol of the first error correcting code between the second error correcting code and the synchronization signal.
 12. An error correcting circuit according to claim 9, wherein the synchronization signal detecting section counts the number of clocks and reproduced bits from the time of detecting the synchronization signal and, based on the counting result, predicts a time of detection of the next synchronization signal. 